namespace array_demo.Model.Set
{
    public interface ISet<E>
    {
        /// <summary>
        /// 是否为空
        /// </summary>
        /// <value></value>
        bool IsEmpty { get; }

        /// <summary>
        /// 数量
        /// </summary>
        /// <value></value>
        int Count { get; }

        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="e"></param>
        void Add(E e);

        /// <summary>
        /// 移除
        /// </summary>
        /// <param name="e"></param>
        void Remove(E e);
        
        /// <summary>
        /// 包含
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        bool Contains(E e);
    }
}